package com.woniuxy.carlife.carlifeuserweb.service;

import com.sun.javaws.exceptions.CacheAccessException;
import com.woniuxy.carlife.carlifecommonsweb.exception.CarlifeGlobalException;
import com.woniuxy.carlife.carlifeusermodel.param.UserAccount;
import com.woniuxy.carlife.carlifeusermodel.param.UserTelephone;
import com.woniuxy.carlife.carlifeuserweb.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * @author zjq
 * @ClassName:UserService
 * @Description:用户账号管理
 * @date 2021/4/6 20:02
 **/

public interface UserService extends IService<User> {

    /*
     * 功能描述〈查询手机号是否存在〉
     * @author:zjq
     * @param:
     * @return:
     * @Date 2021/4/7 22:20
     * @throws
     */

    public boolean findPnone(String userPhone);

    /*
     * 功能描述〈手机号登录〉
     * @author:zjq
     * @param:
     * @return:
     * @Date 2021/4/7 22:31
     * @throws
     */

    public User phoneLogin(UserTelephone userTelephone);

    /*
     * 功能描述〈查询账号〉
     * @author:zjq
     * @param:
     * @return:
     * @Date 2021/4/7 22:31
     * @throws
     */

    public boolean findAccount(String useraccount);

    /*
     * 功能描述〈账号登录〉
     * @author:zjq
     * @param:
     * @return:
     * @Date 2021/4/7 22:31
     * @throws
     */

    public User accountLogin(UserAccount userAccount);



    /*
     * 功能描述〈手机号注册〉
     * @author:zjq
     * @param:
     * @return:
     * @Date 2021/4/8 15:05
     * @throws
     */

    public User telephoneRegister(UserTelephone userTelephone);

    /*
     * 功能描述〈手机直接注册〉
     * @author:zjq
     * @param:
     * @return:
     * @Date 2021/4/15 10:46
     * @throws
     */
    public User phoneRegister(UserTelephone userTelephone);

    /*
     * 功能描述〈账号密码注册〉
     * @author:zjq
     * @param:
     * @return:
     * @Date 2021/4/8 15:05
     * @throws
     */

    public User accountRegister(UserAccount userAccount);


    /*
     * 功能描述〈用户修改〉
     * @author:zjq
     * @param:
     * @return:
     * @Date 2021/4/10 11:31
     * @throws
     */

    public Integer modifyUserById(User user) ;


    /*
     * 功能描述〈用户删除（逻辑删除）〉
     * @author:zjq
     * @param:
     * @return:
     * @Date 2021/4/10 12:07
     * @throws
     */

    public Integer deleteUserByUserId(User user);

}
